package com.knowledge.service;

import com.knowledge.dao.entity.FriendEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.knowledge.dao.entity.SysUser;
import com.knowledge.vo.Result;
import com.knowledge.vo.params.PageParams;

/**
 * <p>
 * 好友表（插入原则：user_id < friend_user_id） 服务类
 * </p>
 *
 * @author zzz
 * @since 2022-03-03
 */
public interface FriendService extends IService<FriendEntity> {

     /**
     　* @description: 分页查询好友
     　* @param ${tags}
     　* @return ${return_type}
     　* @throws
     　* @author zzz
     　* @date 2022-03-04 21:08
     */
    Result listFriendWithPage(SysUser user, PageParams pageParams);

    /**
    　* @description: 查询是否好友
    　* @param ${tags}
    　* @author zzz
    　* @date 2022/3/4 17:45
    */
    Boolean isFriend(Long userId1, Long userId2);

    /**
    　* @description: 添加好友
    　* @param ${tags}
    　* @author zzz
    　* @date 2022/3/4 18:05
    */
    void  addFriend(Long userId1, Long userId2);
    
     /**
     　* @description: 删除好友
     　* @param ${tags}
     　* @return ${return_type}
     　* @throws
     　* @author zzz
     　* @date 2022-03-04 20:35
     */
    Boolean deleteFriend(Long userId1, Long userId2);

     /**
     　* @description: 通过账号搜索好友
     　* @param ${tags}
     　* @return ${return_type}
     　* @throws
     　* @author zzz
     　* @date 2022-03-04 23:20
     */
     Result searchFriend(Long userId, String account);
}
